using System;

namespace BesAsm.Framework.Reporting
{
  /// <summary>
  /// The type of a reportable message
  /// </summary>
  public enum ReportableMessageType
  {
    /// <summary>
    /// A command was executed
    /// </summary>
    Command = 0,
    /// <summary>
    /// A suggestion to the user that they perform a subsequent action
    /// </summary>
    ToDo,
    /// <summary>
    /// A reporting statistic
    /// </summary>
    Statistic,
    /// <summary>
    /// An informational blurb
    /// </summary>
    Info,
    /// <summary>
    /// A suggestion to improve usage
    /// </summary>
    Hint,
    /// <summary>
    /// Indicates that an inconsistency has been found, but does not detract from completing an
    /// action.  It can indicate bad results, however.
    /// </summary>
    Warning,
    /// <summary>
    /// Indicates that a blocking situation has been found, and the program can no longer continue
    /// to complete the current action.
    /// </summary>
    Error,
    /// <summary>
    /// Indicates an error with the model configuration was found
    /// </summary>
    ConfigError
  }
}
